(module binary
  "\00\61\73\6d\01\00\00\00\01\e7\80\80\80\00\13\60"
  "\00\00\60\00\00\60\00\01\7f\60\01\7f\00\60\03\7f"
  "\7c\7f\01\7f\60\00\00\60\03\7f\7c\7e\00\60\02\7f"
  "\7c\00\60\05\7f\7d\7e\7f\7c\00\60\04\7f\7d\7e\7f"
  "\01\7f\60\00\01\7e\60\00\01\7d\60\00\01\7c\60\02"
  "\7f\7f\01\7f\60\02\7e\7e\01\7e\60\02\7d\7d\01\7d"
  "\60\02\7c\7c\01\7c\60\06\7d\7f\7e\7f\7c\7f\01\7c"
  "\60\01\7f\01\7f\03\d0\80\80\80\00\4f\00\00\00\00"
  "\00\00\00\00\00\00\00\00\00\00\03\03\06\07\08\02"
  "\01\02\03\04\02\03\04\00\05\09\00\02\0a\0b\0c\02"
  "\0a\0b\0c\0c\0d\0e\0f\10\0d\0e\0f\10\11\00\00\02"
  "\0a\0b\0c\00\02\00\02\0a\0b\0c\02\00\02\0a\0b\0c"
  "\02\03\12\03\12\03\12\02\0a\0b\0c\07\88\87\80\80"
  "\00\39\01\66\00\02\01\67\00\04\0a\74\79\70\65\2d"
  "\75\73\65\2d\31\00\14\0a\74\79\70\65\2d\75\73\65"
  "\2d\32\00\15\0a\74\79\70\65\2d\75\73\65\2d\33\00"
  "\16\0a\74\79\70\65\2d\75\73\65\2d\34\00\17\0a\74"
  "\79\70\65\2d\75\73\65\2d\35\00\18\0a\74\79\70\65"
  "\2d\75\73\65\2d\36\00\19\0a\74\79\70\65\2d\75\73"
  "\65\2d\37\00\1a\0f\6c\6f\63\61\6c\2d\66\69\72\73"
  "\74\2d\69\33\32\00\1f\0f\6c\6f\63\61\6c\2d\66\69"
  "\72\73\74\2d\69\36\34\00\20\0f\6c\6f\63\61\6c\2d"
  "\66\69\72\73\74\2d\66\33\32\00\21\0f\6c\6f\63\61"
  "\6c\2d\66\69\72\73\74\2d\66\36\34\00\22\10\6c\6f"
  "\63\61\6c\2d\73\65\63\6f\6e\64\2d\69\33\32\00\23"
  "\10\6c\6f\63\61\6c\2d\73\65\63\6f\6e\64\2d\69\36"
  "\34\00\24\10\6c\6f\63\61\6c\2d\73\65\63\6f\6e\64"
  "\2d\66\33\32\00\25\10\6c\6f\63\61\6c\2d\73\65\63"
  "\6f\6e\64\2d\66\36\34\00\26\0b\6c\6f\63\61\6c\2d"
  "\6d\69\78\65\64\00\27\0f\70\61\72\61\6d\2d\66\69"
  "\72\73\74\2d\69\33\32\00\28\0f\70\61\72\61\6d\2d"
  "\66\69\72\73\74\2d\69\36\34\00\29\0f\70\61\72\61"
  "\6d\2d\66\69\72\73\74\2d\66\33\32\00\2a\0f\70\61"
  "\72\61\6d\2d\66\69\72\73\74\2d\66\36\34\00\2b\10"
  "\70\61\72\61\6d\2d\73\65\63\6f\6e\64\2d\69\33\32"
  "\00\2c\10\70\61\72\61\6d\2d\73\65\63\6f\6e\64\2d"
  "\69\36\34\00\2d\10\70\61\72\61\6d\2d\73\65\63\6f"
  "\6e\64\2d\66\33\32\00\2e\10\70\61\72\61\6d\2d\73"
  "\65\63\6f\6e\64\2d\66\36\34\00\2f\0b\70\61\72\61"
  "\6d\2d\6d\69\78\65\64\00\30\05\65\6d\70\74\79\00"
  "\31\0a\76\61\6c\75\65\2d\76\6f\69\64\00\32\09\76"
  "\61\6c\75\65\2d\69\33\32\00\33\09\76\61\6c\75\65"
  "\2d\69\36\34\00\34\09\76\61\6c\75\65\2d\66\33\32"
  "\00\35\09\76\61\6c\75\65\2d\66\36\34\00\36\10\76"
  "\61\6c\75\65\2d\62\6c\6f\63\6b\2d\76\6f\69\64\00"
  "\37\0f\76\61\6c\75\65\2d\62\6c\6f\63\6b\2d\69\33"
  "\32\00\38\0c\72\65\74\75\72\6e\2d\65\6d\70\74\79"
  "\00\39\0a\72\65\74\75\72\6e\2d\69\33\32\00\3a\0a"
  "\72\65\74\75\72\6e\2d\69\36\34\00\3b\0a\72\65\74"
  "\75\72\6e\2d\66\33\32\00\3c\0a\72\65\74\75\72\6e"
  "\2d\66\36\34\00\3d\10\72\65\74\75\72\6e\2d\62\6c"
  "\6f\63\6b\2d\69\33\32\00\3e\0b\62\72\65\61\6b\2d"
  "\65\6d\70\74\79\00\3f\09\62\72\65\61\6b\2d\69\33"
  "\32\00\40\09\62\72\65\61\6b\2d\69\36\34\00\41\09"
  "\62\72\65\61\6b\2d\66\33\32\00\42\09\62\72\65\61"
  "\6b\2d\66\36\34\00\43\0f\62\72\65\61\6b\2d\62\6c"
  "\6f\63\6b\2d\69\33\32\00\44\11\62\72\65\61\6b\2d"
  "\62\72\5f\69\66\2d\65\6d\70\74\79\00\45\0f\62\72"
  "\65\61\6b\2d\62\72\5f\69\66\2d\6e\75\6d\00\46\14"
  "\62\72\65\61\6b\2d\62\72\5f\74\61\62\6c\65\2d\65"
  "\6d\70\74\79\00\47\12\62\72\65\61\6b\2d\62\72\5f"
  "\74\61\62\6c\65\2d\6e\75\6d\00\48\1b\62\72\65\61"
  "\6b\2d\62\72\5f\74\61\62\6c\65\2d\6e\65\73\74\65"
  "\64\2d\65\6d\70\74\79\00\49\19\62\72\65\61\6b\2d"
  "\62\72\5f\74\61\62\6c\65\2d\6e\65\73\74\65\64\2d"
  "\6e\75\6d\00\4a\0e\69\6e\69\74\2d\6c\6f\63\61\6c"
  "\2d\69\33\32\00\4b\0e\69\6e\69\74\2d\6c\6f\63\61"
  "\6c\2d\69\36\34\00\4c\0e\69\6e\69\74\2d\6c\6f\63"
  "\61\6c\2d\66\33\32\00\4d\0e\69\6e\69\74\2d\6c\6f"
  "\63\61\6c\2d\66\36\34\00\4e\0a\8f\87\80\80\00\4f"
  "\82\80\80\80\00\00\0b\82\80\80\80\00\00\0b\82\80"
  "\80\80\00\00\0b\82\80\80\80\00\00\0b\82\80\80\80"
  "\00\00\0b\82\80\80\80\00\00\0b\82\80\80\80\00\00"
  "\0b\84\80\80\80\00\01\01\7f\0b\84\80\80\80\00\01"
  "\01\7f\0b\88\80\80\80\00\03\01\7f\01\7c\01\7e\0b"
  "\86\80\80\80\00\02\01\7f\01\7c\0b\8c\80\80\80\00"
  "\05\01\7f\01\7d\01\7e\01\7f\01\7c\0b\82\80\80\80"
  "\00\00\0b\82\80\80\80\00\00\0b\82\80\80\80\00\00"
  "\0b\82\80\80\80\00\00\0b\82\80\80\80\00\00\0b\82"
  "\80\80\80\00\00\0b\82\80\80\80\00\00\0b\83\80\80"
  "\80\00\00\00\0b\82\80\80\80\00\00\0b\84\80\80\80"
  "\00\00\41\00\0b\82\80\80\80\00\00\0b\84\80\80\80"
  "\00\00\41\00\0b\84\80\80\80\00\00\41\00\0b\82\80"
  "\80\80\00\00\0b\84\80\80\80\00\00\41\00\0b\82\80"
  "\80\80\00\00\0b\82\80\80\80\00\00\0b\90\80\80\80"
  "\00\06\01\7d\01\7f\01\7e\01\7f\01\7c\01\7f\00\00"
  "\0b\90\80\80\80\00\06\01\7d\01\7f\01\7e\01\7f\01"
  "\7c\01\7f\00\00\0b\86\80\80\80\00\01\02\7f\20\00"
  "\0b\86\80\80\80\00\01\02\7e\20\00\0b\86\80\80\80"
  "\00\01\02\7d\20\00\0b\86\80\80\80\00\01\02\7c\20"
  "\00\0b\86\80\80\80\00\01\02\7f\20\01\0b\86\80\80"
  "\80\00\01\02\7e\20\01\0b\86\80\80\80\00\01\02\7d"
  "\20\01\0b\86\80\80\80\00\01\02\7c\20\01\0b\a8\80"
  "\80\80\00\06\01\7d\01\7f\01\7e\01\7f\01\7c\01\7f"
  "\20\00\8c\1a\20\01\45\1a\20\02\50\1a\20\03\45\1a"
  "\20\04\9a\1a\20\05\45\1a\20\04\0b\84\80\80\80\00"
  "\00\20\00\0b\84\80\80\80\00\00\20\00\0b\84\80\80"
  "\80\00\00\20\00\0b\84\80\80\80\00\00\20\00\0b\84"
  "\80\80\80\00\00\20\01\0b\84\80\80\80\00\00\20\01"
  "\0b\84\80\80\80\00\00\20\01\0b\84\80\80\80\00\00"
  "\20\01\0b\9c\80\80\80\00\00\20\00\8c\1a\20\01\45"
  "\1a\20\02\50\1a\20\03\45\1a\20\04\9a\1a\20\05\45"
  "\1a\20\04\0b\82\80\80\80\00\00\0b\84\80\80\80\00"
  "\00\10\00\0b\85\80\80\80\00\00\41\cd\00\0b\85\80"
  "\80\80\00\00\42\e1\3c\0b\87\80\80\80\00\00\43\66"
  "\66\9b\42\0b\8b\80\80\80\00\00\44\e1\7a\14\ae\47"
  "\71\53\40\0b\89\80\80\80\00\00\02\40\10\00\10\00"
  "\0b\0b\8a\80\80\80\00\00\02\7f\10\00\41\cd\00\0b"
  "\0b\83\80\80\80\00\00\0f\0b\86\80\80\80\00\00\41"
  "\ce\00\0f\0b\86\80\80\80\00\00\42\c6\3d\0f\0b\88"
  "\80\80\80\00\00\43\66\66\9d\42\0f\0b\8c\80\80\80"
  "\00\00\44\52\b8\1e\85\eb\b1\53\40\0f\0b\8b\80\80"
  "\80\00\00\02\7f\10\00\41\cd\00\0b\0f\0b\84\80\80"
  "\80\00\00\0c\00\0b\87\80\80\80\00\00\41\cf\00\0c"
  "\00\0b\87\80\80\80\00\00\42\ab\3e\0c\00\0b\89\80"
  "\80\80\00\00\43\cd\cc\9f\42\0c\00\0b\8d\80\80\80"
  "\00\00\44\c3\f5\28\5c\8f\f2\53\40\0c\00\0b\8c\80"
  "\80\80\00\00\02\7f\10\00\41\cd\00\0b\0c\00\0b\86"
  "\80\80\80\00\00\20\00\0d\00\0b\8b\80\80\80\00\00"
  "\41\32\20\00\0d\00\1a\41\33\0b\89\80\80\80\00\00"
  "\20\00\0e\02\00\00\00\0b\8c\80\80\80\00\00\41\32"
  "\20\00\0e\01\00\00\41\33\0b\8c\80\80\80\00\00\02"
  "\40\20\00\0e\02\00\01\00\0b\0b\93\80\80\80\00\00"
  "\02\7f\41\32\20\00\0e\02\00\01\00\41\33\0b\41\02"
  "\6a\0b\86\80\80\80\00\01\01\7f\20\00\0b\86\80\80"
  "\80\00\01\01\7e\20\00\0b\86\80\80\80\00\01\01\7d"
  "\20\00\0b\86\80\80\80\00\01\01\7c\20\00\0b"
)
(assert_return (invoke "type-use-1"))
(assert_return (invoke "type-use-2") (i32.const 0))
(assert_return (invoke "type-use-3" (i32.const 1)))
(assert_return
  (invoke "type-use-4" (i32.const 1) (f64.const 0x1p+0) (i32.const 1))
  (i32.const 0)
)
(assert_return (invoke "type-use-5") (i32.const 0))
(assert_return (invoke "type-use-6" (i32.const 1)))
(assert_return
  (invoke "type-use-7" (i32.const 1) (f64.const 0x1p+0) (i32.const 1))
  (i32.const 0)
)
(assert_return (invoke "local-first-i32") (i32.const 0))
(assert_return (invoke "local-first-i64") (i64.const 0))
(assert_return (invoke "local-first-f32") (f32.const 0x0p+0))
(assert_return (invoke "local-first-f64") (f64.const 0x0p+0))
(assert_return (invoke "local-second-i32") (i32.const 0))
(assert_return (invoke "local-second-i64") (i64.const 0))
(assert_return (invoke "local-second-f32") (f32.const 0x0p+0))
(assert_return (invoke "local-second-f64") (f64.const 0x0p+0))
(assert_return (invoke "local-mixed") (f64.const 0x0p+0))
(assert_return
  (invoke "param-first-i32" (i32.const 2) (i32.const 3))
  (i32.const 2)
)
(assert_return
  (invoke "param-first-i64" (i64.const 2) (i64.const 3))
  (i64.const 2)
)
(assert_return
  (invoke "param-first-f32" (f32.const 0x1p+1) (f32.const 0x1.8p+1))
  (f32.const 0x1p+1)
)
(assert_return
  (invoke "param-first-f64" (f64.const 0x1p+1) (f64.const 0x1.8p+1))
  (f64.const 0x1p+1)
)
(assert_return
  (invoke "param-second-i32" (i32.const 2) (i32.const 3))
  (i32.const 3)
)
(assert_return
  (invoke "param-second-i64" (i64.const 2) (i64.const 3))
  (i64.const 3)
)
(assert_return
  (invoke "param-second-f32" (f32.const 0x1p+1) (f32.const 0x1.8p+1))
  (f32.const 0x1.8p+1)
)
(assert_return
  (invoke "param-second-f64" (f64.const 0x1p+1) (f64.const 0x1.8p+1))
  (f64.const 0x1.8p+1)
)
(assert_return
  (invoke "param-mixed"
    (f32.const 0x1p+0)
    (i32.const 2)
    (i64.const 3)
    (i32.const 4)
    (f64.const 0x1.6p+2)
    (i32.const 6)
  )
  (f64.const 0x1.6p+2)
)
(assert_return (invoke "empty"))
(assert_return (invoke "value-void"))
(assert_return (invoke "value-i32") (i32.const 77))
(assert_return (invoke "value-i64") (i64.const 7777))
(assert_return (invoke "value-f32") (f32.const 0x1.36ccccp+6))
(assert_return (invoke "value-f64") (f64.const 0x1.37147ae147ae1p+6))
(assert_return (invoke "value-block-void"))
(assert_return (invoke "value-block-i32") (i32.const 77))
(assert_return (invoke "return-empty"))
(assert_return (invoke "return-i32") (i32.const 78))
(assert_return (invoke "return-i64") (i64.const 7878))
(assert_return (invoke "return-f32") (f32.const 0x1.3accccp+6))
(assert_return (invoke "return-f64") (f64.const 0x1.3b1eb851eb852p+6))
(assert_return (invoke "return-block-i32") (i32.const 77))
(assert_return (invoke "break-empty"))
(assert_return (invoke "break-i32") (i32.const 79))
(assert_return (invoke "break-i64") (i64.const 7979))
(assert_return (invoke "break-f32") (f32.const 0x1.3f999ap+6))
(assert_return (invoke "break-f64") (f64.const 0x1.3f28f5c28f5c3p+6))
(assert_return (invoke "break-block-i32") (i32.const 77))
(assert_return (invoke "break-br_if-empty" (i32.const 0)))
(assert_return (invoke "break-br_if-empty" (i32.const 2)))
(assert_return (invoke "break-br_if-num" (i32.const 0)) (i32.const 51))
(assert_return (invoke "break-br_if-num" (i32.const 1)) (i32.const 50))
(assert_return (invoke "break-br_table-empty" (i32.const 0)))
(assert_return (invoke "break-br_table-empty" (i32.const 1)))
(assert_return (invoke "break-br_table-empty" (i32.const 5)))
(assert_return (invoke "break-br_table-empty" (i32.const -1)))
(assert_return (invoke "break-br_table-num" (i32.const 0)) (i32.const 50))
(assert_return (invoke "break-br_table-num" (i32.const 1)) (i32.const 50))
(assert_return (invoke "break-br_table-num" (i32.const 10)) (i32.const 50))
(assert_return (invoke "break-br_table-num" (i32.const -100)) (i32.const 50))
(assert_return (invoke "break-br_table-nested-empty" (i32.const 0)))
(assert_return (invoke "break-br_table-nested-empty" (i32.const 1)))
(assert_return (invoke "break-br_table-nested-empty" (i32.const 3)))
(assert_return (invoke "break-br_table-nested-empty" (i32.const -2)))
(assert_return
  (invoke "break-br_table-nested-num" (i32.const 0))
  (i32.const 52)
)
(assert_return
  (invoke "break-br_table-nested-num" (i32.const 1))
  (i32.const 50)
)
(assert_return
  (invoke "break-br_table-nested-num" (i32.const 2))
  (i32.const 52)
)
(assert_return
  (invoke "break-br_table-nested-num" (i32.const -3))
  (i32.const 52)
)
(assert_return (invoke "init-local-i32") (i32.const 0))
(assert_return (invoke "init-local-i64") (i64.const 0))
(assert_return (invoke "init-local-f32") (f32.const 0x0p+0))
(assert_return (invoke "init-local-f64") (f64.const 0x0p+0))
(module binary
  "\00\61\73\6d\01\00\00\00\01\8c\80\80\80\00\03\60"
  "\01\7f\00\60\00\01\7c\60\00\00\03\86\80\80\80\00"
  "\05\01\00\00\01\02\0a\bd\80\80\80\00\05\8b\80\80"
  "\80\00\00\44\00\00\00\00\00\00\00\00\0b\82\80\80"
  "\80\00\00\0b\82\80\80\80\00\00\0b\8b\80\80\80\00"
  "\00\44\00\00\00\00\00\00\00\00\0b\89\80\80\80\00"
  "\00\41\00\10\02\10\03\1a\0b"
)
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\89\80\80\80\00\02\60"
    "\01\7f\00\60\00\01\7c\03\85\80\80\80\00\04\01\00"
    "\01\02\0a\af\80\80\80\00\04\8b\80\80\80\00\00\44"
    "\00\00\00\00\00\00\00\00\0b\82\80\80\80\00\00\0b"
    "\8b\80\80\80\00\00\44\00\00\00\00\00\00\f0\3f\0b"
    "\82\80\80\80\00\00\0b"
  )
  "unknown type"
)
(module binary
  "\00\61\73\6d\01\00\00\00\01\9d\80\80\80\00\04\60"
  "\00\00\60\00\00\60\08\7e\7e\7c\7e\7c\7e\7d\7f\00"
  "\60\08\7c\7e\7c\7e\7c\7e\7d\7f\00\03\8c\80\80\80"
  "\00\0b\00\03\00\03\03\02\02\00\00\00\00\04\85\80"
  "\80\80\00\01\70\01\07\07\07\f7\80\80\80\00\04\19"
  "\73\69\67\6e\61\74\75\72\65\2d\65\78\70\6c\69\63"
  "\69\74\2d\72\65\75\73\65\64\00\07\19\73\69\67\6e"
  "\61\74\75\72\65\2d\69\6d\70\6c\69\63\69\74\2d\72"
  "\65\75\73\65\64\00\08\1c\73\69\67\6e\61\74\75\72"
  "\65\2d\65\78\70\6c\69\63\69\74\2d\64\75\70\6c\69"
  "\63\61\74\65\00\09\1c\73\69\67\6e\61\74\75\72\65"
  "\2d\69\6d\70\6c\69\63\69\74\2d\64\75\70\6c\69\63"
  "\61\74\65\00\0a\09\8d\80\80\80\00\01\00\41\00\0b"
  "\07\04\02\01\04\00\05\06\0a\b0\82\80\80\00\0b\82"
  "\80\80\80\00\00\0b\82\80\80\80\00\00\0b\82\80\80"
  "\80\00\00\0b\82\80\80\80\00\00\0b\82\80\80\80\00"
  "\00\0b\82\80\80\80\00\00\0b\82\80\80\80\00\00\0b"
  "\8c\80\80\80\00\00\41\01\11\00\00\41\04\11\00\00"
  "\0b\89\81\80\80\00\00\44\00\00\00\00\00\00\00\00"
  "\42\00\44\00\00\00\00\00\00\00\00\42\00\44\00\00"
  "\00\00\00\00\00\00\42\00\43\00\00\00\00\41\00\41"
  "\00\11\03\00\44\00\00\00\00\00\00\00\00\42\00\44"
  "\00\00\00\00\00\00\00\00\42\00\44\00\00\00\00\00"
  "\00\00\00\42\00\43\00\00\00\00\41\00\41\02\11\03"
  "\00\44\00\00\00\00\00\00\00\00\42\00\44\00\00\00"
  "\00\00\00\00\00\42\00\44\00\00\00\00\00\00\00\00"
  "\42\00\43\00\00\00\00\41\00\41\03\11\03\00\0b\87"
  "\80\80\80\00\00\41\01\11\01\00\0b\ce\80\80\80\00"
  "\00\42\00\42\00\44\00\00\00\00\00\00\00\00\42\00"
  "\44\00\00\00\00\00\00\00\00\42\00\43\00\00\00\00"
  "\41\00\41\05\11\02\00\42\00\42\00\44\00\00\00\00"
  "\00\00\00\00\42\00\44\00\00\00\00\00\00\00\00\42"
  "\00\43\00\00\00\00\41\00\41\06\11\02\00\0b"
)
(assert_return (invoke "signature-explicit-reused"))
(assert_return (invoke "signature-implicit-reused"))
(assert_return (invoke "signature-explicit-duplicate"))
(assert_return (invoke "signature-implicit-duplicate"))
(assert_malformed
  (module quote
    "(type $sig (func (param i32) (result i32)))(func (type $sig) (result i32) (param i32) (i32.const 0))"
  )
  "unexpected token"
)
(assert_malformed
  (module quote
    "(type $sig (func (param i32) (result i32)))(func (param i32) (type $sig) (result i32) (i32.const 0))"
  )
  "unexpected token"
)
(assert_malformed
  (module quote
    "(type $sig (func (param i32) (result i32)))(func (param i32) (result i32) (type $sig) (i32.const 0))"
  )
  "unexpected token"
)
(assert_malformed
  (module quote
    "(type $sig (func (param i32) (result i32)))(func (result i32) (type $sig) (param i32) (i32.const 0))"
  )
  "unexpected token"
)
(assert_malformed
  (module quote
    "(type $sig (func (param i32) (result i32)))(func (result i32) (param i32) (type $sig) (i32.const 0))"
  )
  "unexpected token"
)
(assert_malformed
  (module quote "(func (result i32) (param i32) (i32.const 0))")
  "unexpected token"
)
(assert_malformed
  (module quote
    "(type $sig (func))(func (type $sig) (result i32) (i32.const 0))"
  )
  "inline function type"
)
(assert_malformed
  (module quote
    "(type $sig (func (param i32) (result i32)))(func (type $sig) (result i32) (i32.const 0))"
  )
  "inline function type"
)
(assert_malformed
  (module quote
    "(type $sig (func (param i32) (result i32)))(func (type $sig) (param i32) (i32.const 0))"
  )
  "inline function type"
)
(assert_malformed
  (module quote
    "(type $sig (func (param i32 i32) (result i32)))(func (type $sig) (param i32) (result i32) (unreachable))"
  )
  "inline function type"
)
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\85\80\80\80\00\01\60"
    "\00\01\7e\03\82\80\80\80\00\01\00\0a\8c\80\80\80"
    "\00\01\86\80\80\80\00\01\01\7f\20\00\0b"
  )
  "type mismatch"
)
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\84\80\80\80\00\01\60"
    "\00\00\03\82\80\80\80\00\01\00\0a\8d\80\80\80\00"
    "\01\87\80\80\80\00\01\01\7d\20\00\45\0b"
  )
  "type mismatch"
)
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\84\80\80\80\00\01\60"
    "\00\00\03\82\80\80\80\00\01\00\0a\8f\80\80\80\00"
    "\01\89\80\80\80\00\02\01\7c\01\7e\20\01\9a\0b"
  )
  "type mismatch"
)
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\86\80\80\80\00\01\60"
    "\01\7f\01\7e\03\82\80\80\80\00\01\00\0a\8a\80\80"
    "\80\00\01\84\80\80\80\00\00\20\00\0b"
  )
  "type mismatch"
)
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\85\80\80\80\00\01\60"
    "\01\7d\00\03\82\80\80\80\00\01\00\0a\8b\80\80\80"
    "\00\01\85\80\80\80\00\00\20\00\45\0b"
  )
  "type mismatch"
)
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\86\80\80\80\00\01\60"
    "\02\7c\7e\00\03\82\80\80\80\00\01\00\0a\8b\80\80"
    "\80\00\01\85\80\80\80\00\00\20\01\9a\0b"
  )
  "type mismatch"
)
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\86\80\80\80\00\01\60"
    "\00\02\7f\7f\03\82\80\80\80\00\01\00\0a\89\80\80"
    "\80\00\01\83\80\80\80\00\00\00\0b"
  )
  "invalid result arity"
)
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\86\80\80\80\00\01\60"
    "\00\02\7f\7f\03\82\80\80\80\00\01\00\0a\89\80\80"
    "\80\00\01\83\80\80\80\00\00\00\0b"
  )
  "invalid result arity"
)
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\85\80\80\80\00\01\60"
    "\00\01\7f\03\82\80\80\80\00\01\00\0a\88\80\80\80"
    "\00\01\82\80\80\80\00\00\0b"
  )
  "type mismatch"
)
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\85\80\80\80\00\01\60"
    "\00\01\7e\03\82\80\80\80\00\01\00\0a\88\80\80\80"
    "\00\01\82\80\80\80\00\00\0b"
  )
  "type mismatch"
)
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\85\80\80\80\00\01\60"
    "\00\01\7d\03\82\80\80\80\00\01\00\0a\88\80\80\80"
    "\00\01\82\80\80\80\00\00\0b"
  )
  "type mismatch"
)
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\85\80\80\80\00\01\60"
    "\00\01\7c\03\82\80\80\80\00\01\00\0a\88\80\80\80"
    "\00\01\82\80\80\80\00\00\0b"
  )
  "type mismatch"
)
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\85\80\80\80\00\01\60"
    "\00\01\7f\03\82\80\80\80\00\01\00\0a\89\80\80\80"
    "\00\01\83\80\80\80\00\00\01\0b"
  )
  "type mismatch"
)
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\84\80\80\80\00\01\60"
    "\00\00\03\82\80\80\80\00\01\00\0a\8a\80\80\80\00"
    "\01\84\80\80\80\00\00\41\00\0b"
  )
  "type mismatch"
)
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\85\80\80\80\00\01\60"
    "\00\01\7f\03\82\80\80\80\00\01\00\0a\8d\80\80\80"
    "\00\01\87\80\80\80\00\00\43\00\00\00\00\0b"
  )
  "type mismatch"
)
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\85\80\80\80\00\01\60"
    "\00\01\7f\03\82\80\80\80\00\01\00\0a\89\80\80\80"
    "\00\01\83\80\80\80\00\00\0f\0b"
  )
  "type mismatch"
)
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\85\80\80\80\00\01\60"
    "\00\01\7f\03\82\80\80\80\00\01\00\0a\8a\80\80\80"
    "\00\01\84\80\80\80\00\00\01\0f\0b"
  )
  "type mismatch"
)
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\85\80\80\80\00\01\60"
    "\00\01\7f\03\82\80\80\80\00\01\00\0a\8b\80\80\80"
    "\00\01\85\80\80\80\00\00\42\00\0f\0b"
  )
  "type mismatch"
)
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\85\80\80\80\00\01\60"
    "\00\01\7f\03\82\80\80\80\00\01\00\0a\8b\80\80\80"
    "\00\01\85\80\80\80\00\00\0f\41\01\0b"
  )
  "type mismatch"
)
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\85\80\80\80\00\01\60"
    "\00\01\7f\03\82\80\80\80\00\01\00\0a\8c\80\80\80"
    "\00\01\86\80\80\80\00\00\01\0f\41\01\0b"
  )
  "type mismatch"
)
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\85\80\80\80\00\01\60"
    "\00\01\7f\03\82\80\80\80\00\01\00\0a\8d\80\80\80"
    "\00\01\87\80\80\80\00\00\42\01\0f\41\01\0b"
  )
  "type mismatch"
)
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\85\80\80\80\00\01\60"
    "\00\01\7f\03\82\80\80\80\00\01\00\0a\8e\80\80\80"
    "\00\01\88\80\80\80\00\00\42\01\0f\41\01\0f\0b"
  )
  "type mismatch"
)
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\85\80\80\80\00\01\60"
    "\00\01\7f\03\82\80\80\80\00\01\00\0a\8a\80\80\80"
    "\00\01\84\80\80\80\00\00\0c\00\0b"
  )
  "type mismatch"
)
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\85\80\80\80\00\01\60"
    "\00\01\7f\03\82\80\80\80\00\01\00\0a\8f\80\80\80"
    "\00\01\89\80\80\80\00\00\43\00\00\00\00\0c\00\0b"
  )
  "type mismatch"
)
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\85\80\80\80\00\01\60"
    "\00\01\7f\03\82\80\80\80\00\01\00\0a\8c\80\80\80"
    "\00\01\86\80\80\80\00\00\0c\00\41\01\0b"
  )
  "type mismatch"
)
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\85\80\80\80\00\01\60"
    "\00\01\7f\03\82\80\80\80\00\01\00\0a\8e\80\80\80"
    "\00\01\88\80\80\80\00\00\42\01\0c\00\41\01\0b"
  )
  "type mismatch"
)
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\85\80\80\80\00\01\60"
    "\00\01\7f\03\82\80\80\80\00\01\00\0a\90\80\80\80"
    "\00\01\8a\80\80\80\00\00\42\01\0c\00\41\01\0c\00"
    "\0b"
  )
  "type mismatch"
)
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\85\80\80\80\00\01\60"
    "\00\01\7f\03\82\80\80\80\00\01\00\0a\91\80\80\80"
    "\00\01\8b\80\80\80\00\00\02\40\0c\01\0b\41\01\0c"
    "\00\0b"
  )
  "type mismatch"
)
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\85\80\80\80\00\01\60"
    "\00\01\7f\03\82\80\80\80\00\01\00\0a\92\80\80\80"
    "\00\01\8c\80\80\80\00\00\02\40\01\0c\01\0b\41\01"
    "\0c\00\0b"
  )
  "type mismatch"
)
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\85\80\80\80\00\01\60"
    "\00\01\7f\03\82\80\80\80\00\01\00\0a\93\80\80\80"
    "\00\01\8d\80\80\80\00\00\02\40\42\01\0c\01\0b\41"
    "\01\0c\00\0b"
  )
  "type mismatch"
)
(assert_malformed (module quote "(func (nop) (local i32))") "unexpected token")
(assert_malformed (module quote "(func (nop) (param i32))") "unexpected token")
(assert_malformed (module quote "(func (nop) (result i32))") "unexpected token")
(assert_malformed
  (module quote "(func (local i32) (param i32))")
  "unexpected token"
)
(assert_malformed
  (module quote "(func (local i32) (result i32) (get_local 0))")
  "unexpected token"
)
(assert_malformed
  (module quote "(func (result i32) (param i32) (get_local 0))")
  "unexpected token"
)
